BBC Micro Model A/B with ROM expansion socket |
|
Developer | Acorn Computers |
Type | 8-bit microcomputer |
Release date | Late 1981 |
Introductory price | £235 Model A, £335 Model B (in 1981) |
Discontinued | 1994, Succeeded by Acorn Archimedes |
Media | Cassette tape, floppy disk (optional), hard disk (rare), LaserDisc (BBC Domesday Project) |
Operating system | Acorn MOS |
CPU | MOS Technology 6502/6512 at 2 MHz |
Memory |
16–32 KB (Model A/B) |
Display | PAL/NTSC, RF/composite/TTL RGB |
Graphics |
640×256, 8 colours (various framebuffer modes) |
Input | Keyboard, twin analogue joysticks, lightpen, games switches. |
Connectivity | RS-423 serial, printer parallel, user parallel, Econet (optional), 1 MHz bus, Tube second processor interface, A-D input, lightpen/games controller port |
The BBC Microcomputer System, or BBC Micro, was a series of microcomputers and associated peripherals designed and built by Acorn Computers for the BBC Computer Literacy Project, operated by the British Broadcasting Corporation. Designed with an emphasis on education, it was notable for its ruggedness, expandability and the quality of its operating system.
The Acorn Proton was a pre-existing project at Acorn to succeed the Atom home computer. It was then submitted for, and won, the Literacy Project tender for a computer to accompany the TV programmes and literature. Renamed the BBC Micro, the platform was chosen by most schools and became a cornerstone of computing in British education in the 1980s, changing Acorn's fortunes. It was also moderately successful as a home computer in the United Kingdom despite its high cost. The machine was directly involved in the development of the ARM architecture which sees widespread use in embedded systems as of 2009.
While nine models were eventually produced with the BBC brand, the term "BBC Micro" is usually colloquially used to refer to the first six (Model A, B, B+64 and B+128, Master 128, Master compact), with the subsequent models considered as part of the Archimedes series.
Contents |
In the early 1980s, the BBC started what became known as the BBC Computer Literacy Project. The project was initiated partly in response[1] to an extremely influential ITV documentary series The Mighty Micro, in which Dr Christopher Evans from the National Physical Laboratory predicted the coming microcomputer revolution and its impact on the economy, industry, and lifestyle of the United Kingdom.
The BBC wanted to base its project on a microcomputer capable of performing various tasks which they could then demonstrate in their 1981 TV series The Computer Programme. The list of topics included programming, graphics, sound and music, Teletext, controlling external hardware and artificial intelligence. It decided to badge a micro, then drew up a fairly ambitious (for its time) specification and asked for takers. The BBC discussed the requirement with several companies including Sinclair Research, Newbury Laboratories, Dragon[1] and Acorn.
The Acorn team had already been working on an upgrade to their existing Atom microcomputer. Known as the Proton, it included better graphics and a faster 2 MHz MOS Technology 6502 CPU. The machine was only in prototype form at the time, but the Acorn team, largely made up of students including Sophie Wilson and Steve Furber, worked through the night to get a working Proton together to show the BBC[2]. The Acorn Proton not only was the only machine to come up to the BBC's specification, but also exceeded it in nearly every parameter[1].
The machine was released as the BBC Microcomputer in late 1981 and became affectionately known as the Beeb. The machine was popular in the UK, especially in the educational market. As with Sinclair's ZX Spectrum and Commodore's Commodore 64, both released later in 1982, demand greatly exceeded supply. For some months, there were long delays before customers received the machines they had ordered. A brief attempt to market the machine in the United States failed. The success of the machine in the UK was largely due to its acceptance as an "educational" computer – the vast majority of UK schools used BBC Micros to teach computer literacy and information technology skills[1]. Some Commonwealth countries, like India, started their own Computer Literacy programs around 1987 and used the BBC Micro, a clone of which was produced by the Semiconductor Complex Limited and called the SCL Unicorn.[3][4][5]
One of the main advantages which helped the BBC Micro in the educational market was its durable construction. The machine's casing and keyboard was solidly built compared to that of the ZX Spectrum and the Commodore 64, being able to cope with all the abuse that schoolchildren could throw at it.
The Model A and the Model B were initially priced at £235 and £335 respectively, but rising almost immediately to £299 and £399 due to increased costs[6]. Acorn anticipated the total sales to be around 12,000 units, but eventually more than 1.5 million BBC Micros were sold[7].
The cost of the BBC Models was high compared to competitors such as the ZX Spectrum and the Commodore 64 and in 1983, Acorn attempted to counter this by producing a largely compatible but cut-down version intended for game playing, the 32K Acorn Electron. Games written specially for the Electron's more limited hardware could usually also be run on the Model B.
The Model A had 16 KB of user RAM, while the Model B had 32 KB. A feature that the Micro shared with other 6502 computers such as the Apple and the early Commodore models was that the RAM was clocked twice as fast as the CPU (4 MHz), with alternating access given to the CPU and the video display circuits. This gave the BBC Micro a fully unified memory address structure with no speed penalties. Most competing micros with memory-mapped display incurred CPU speed penalties depending on the actions of the video circuits (e.g. the Amstrad CPC and to a lesser extent the ZX Spectrum) or kept video memory completely separate from the CPU address pool (e.g. the MSX).
The machine included a number of extra I/O interfaces: serial and parallel printer ports; an 8-bit general purpose digital I/O port; a port offering four analogue inputs, a light pen input, and switch inputs; and an expansion connector (the "1 MHz bus") that enabled other hardware to be connected. Extra ROMs could be fitted (four on the PCB or sixteen with expansion hardware) and accessed via paged memory. An Econet network interface and a disk drive interface were available as options. All motherboards had space for the electronic components, but Econet was rarely fitted. Additionally, an Acorn proprietary interface called the "Tube" allowed a second processor to be added. Three models of second processor were offered by Acorn, based on the 6502, Z80 and 32016 CPUs. The Tube was later used in third-party add-ons, including a Zilog Z80 board and hard disk drive from Torch that allowed the BBC machine to run CP/M programs.
The Tube interface allowed Acorn to use ARM CPU-equipped BBC Micros as software development tools when creating the Acorn Archimedes. This resulted in the ARM development kit for the BBC Micro in 1986, priced at around £4000.[8] In 2006 a kit with an ARM7TDMI CPU running at 64 MHz, with up to 64MB of RAM, was released for the BBC Micro and Master, using the Tube interface to turn the old 8-bit micros into 32-bit RISC machines just as Acorn had done two decades previously.[9] Among the software titles to run on the Tube were an enhanced version of Elite (see below) and a CAD package that required a second 6502 CPU and a 5-dimensional joystick called a "Bitstik"[1].
The Model A and the Model B were built on the same PCB and a Model A could be upgraded to a Model B without too much difficulty. Users wishing to run Model B software needed only to add the extra RAM and the user/printer 6522 VIA (which many games used for timers) and snip a link, a task that could be achieved without soldering. To do a full upgrade with all the external ports did, however, require soldering the connectors to the motherboard.
Early BBC Micros used linear power supplies at the insistence of the BBC's engineering specification, but these very hot-running PSUs were soon replaced in production by switched mode units.
An apparent oversight in the manufacturing process resulted in a significant number of Model Bs producing a constant buzzing noise from the built-in speaker. This fault could be partly rectified by soldering a resistor across two pads.[10]
There were five developments of the main BBC micro circuit board that addressed various issues through the models production, from 'Issue 1' through to 'Issue 7' with variants 5 and 6 not being released. The details of the technical changes were documented in the 1985 'BBC Microcomputer Service Manual' from Acorn.
Two export models were developed: one for the US[11], with Econet and speech hardware as standard; the other for the Federal Republic of Germany.[12] Both were fitted with RF shielding as required by the respective countries, and they were still based on the Intel 8271 floppy drive controller. From June 1983 the name was always spelled out in full – "British Broadcasting Corporation Microcomputer System" – to avoid confusion with Brown, Boveri & Cie in international markets.[13]
US models included BASIC III, modified to accept the American spelling of COLOR, but the height of the graphics display was reduced from 256 scan lines per field to 200 to suit NTSC TVs[14], seriously affecting applications written for British computers. After the failed US marketing campaign the unwanted machines were remanufactured for the British market and sold off, resulting in a third 'export' variant.[15]
Acorn introduced the Model B+ in mid 1985, increasing the total RAM to 64 KB and including floppy disk support as standard, but this had modest market impact. The extra RAM in the Model B+ BBC Micro was assigned as two blocks, a block of 20 KB dedicated solely for screen display (so-called "Shadow" RAM) and a block of 12 KB of 'special' Sideways RAM. The B+128 came with an additional 64 KB ( 4 × 16 KB "Sideways" RAM banks) to give a total RAM of 128 KB.
The new B+ was incapable of running some original BBC B programs and games, such as, for example, the very popular Castle Quest. A particular problem was the replacement of the Intel 8271 floppy disk controller with the Western Digital 1770 — not only was the new controller mapped to different addresses[16], it was fundamentally incompatible and the many 8271 emulators that did exist were necessarily imperfect for all but basic operation[17]. A piece of software that used copy protection techniques which involved direct access to the controller, simply would not run on the new system.[18]
There was also a long-running problem late on in the B/B+'s life infamous amongst B+ owners, when Superior Software released Repton Infinity, which refused to run on the B+. A string of unsuccessful replacements were issued before one compatible with both was finally released.
In 1986, Acorn followed up with the BBC Master, which offered memory sizes from 128 KB and many other refinements which improved on the 1981 original. At heart it was essentially the same 6502-based BBC architecture, with many of the upgrades that the original design had intentionally made possible (extra ROM software, extra paged RAM, second processors) now included on the circuit board as internal plug-in modules.
The BBC Micro platform amassed a large software base of games and educational titles, reflecting its dual niches at home and in the classroom. Notable examples of each include Elite (the game's original release) and Granny's Garden. Programming languages and some applications were supplied on ROM chips to be installed on the motherboard. These could be loaded instantly and left the main RAM free for programs or documents.
Although appropriate content was little-supported by television broadcasters, telesoftware could be downloaded via the optional Teletext Adapter and the third-party teletext adaptors that emerged.
The built-in operating system, Acorn MOS, provided an extensive API to interface with all standard peripherals, ROM-based software and the screen[16]. Features private to some other BASICs, like vector graphics, keyboard macros, cursor-based editing, sound queues and envelopes, were placed in the MOS ROM and made available to any application. BBC BASIC itself, being in a separate ROM, could be replaced with any equivalent language.
BASIC, other languages and utility ROMs resided in any of four paged ROM sockets on board, although the MOS could cater logically for sixteen paged ROM 'slots' of 16 KB each. The paged ROM system was essentially modular. The user could switch language or filing system with a star command, prefixed with an asterisk e.g. *PASCAL to invoke a pascal compiler, or *WORD for Acornsoft's View word processor. Star commands performed other tasks like file management (*COPY, *DELETE, *INFO and so on), system help (*HELP) or configuration (*FX, *OPT). The MOS had a handful of commands built-in, anything else was passed to each ROM slot from 15 through to 0 until one of them recognised its own name or a command; if not then the OS returned a Bad command
error. Not all ROMs offered star commands (ROMs containing data files, for instance), but any ROM could claim certain vectors in order to extend the system's functionality, e.g. a DFS providing access to files on disc, or the Acorn GXR (Graphics eXtension ROM) which added functionality to the VDU processing queue to allow flood fills and geometric shapes. Connecting an external EPROM programmer, one could write extensive programs, burn to PROM/EPROM, then run them without taxing user memory.
Acorn strongly discouraged programmers from directly accessing the hardware and system variables, favouring official API calls[19]. This was ostensibly to make sure programs kept working when moved to the Tube coprocessor, but it also made BBC Micro software more portable across the Acorn range. Whereas untrappable PEEKs and POKEs were commonly used on other computers to reach the system elements[20], both BBC BASIC and assembly language programs would pass parameters to an operating system routine. In this way the MOS could translate the request for the devices and memory layout of the local machine (especially the Electron and Archimedes) or send it across the Tube interface, as direct access was impossible from the coprocessor.
As the early BBC Micros had ample I/O allowing machines to be interconnected, and as many schools and universities employed the machines in Econet networks, numerous networked multiplayer games were created. With the exception of a tank game, Bolo, few rose to popularity; in no small measure due to the limited number of machines aggregated in one place. A relatively late but well documented example can be found in a dissertation based on a ringed RS-423 interconnect[21].
The built-in ROM-resident BBC BASIC programming language interpreter was by far the most sophisticated of its time, and wholly supported the machine's educational focus. Advanced programs could be written without resorting to non-structured programming or machine code (necessary with many competing computers). Should one want or need to do some assembly programming, BBC BASIC featured a built-in assembler that allowed a very easy mixture of BBC BASIC and assembler for whatever processor BBC BASIC was running on.
When the BBC Micro was released, many competing home computers used Microsoft BASIC, or variants typically designed to resemble it. Compared to Microsoft BASIC, BBC BASIC supported IF…THEN…ELSE, REPEAT...UNTIL, named procedures and functions, but retained GOTO and GOSUB for compatibility. It also supported high-resolution graphics, four-channel sound, pointer-based memory access (borrowed from BCPL) and rudimentary macro assembly. Long variable names were accepted and distinguished completely, not just by the first two characters.
Acorn had produced their own 32-bit RISC CPU in 1985, (the ARM2) and were working on building a personal computer around it. This was released in 1987 as four models in the Archimedes series, with the lower-specified two models (with 512 KB and 1 MB respectively) released as BBC Microcomputers with the distinctive red function keys. Although the Archimedes ultimately was not a major success, the ARM family of processors has gone on to become the dominant processor architecture in mobile embedded consumer devices, particularly mobile phones.
Acorn's last BBC-related model, the BBC A3000, was released in 1989. It was essentially a 1 MB Archimedes back in a single case form factor.
As of 2005, thanks to its ready expandability and I/O functions, there are still numbers of BBCs in use, and a retrocomputing community of dedicated users finding new things to do with the old hardware. A BBC B+ was observed running the communications link in an unattended water pumping station in Oxhey in 1995. They still survive in a few interactive displays in museums across the country, and Jodrell Bank was reported to still be using a BBC Micro to steer its 42ft radio telescope in 2004[22]. There are also a number of BBC Micro emulators for many OS's, so that even the original hardware is no longer necessary
In March 2008, the creators of the BBC Micro met at the Science Museum in London. The museum plans to hold an exhibition about the computer and its legacy in 2009[23].
Model A | Model B | Model B+64 | Model B+128 | |
---|---|---|---|---|
Processor | MOS Technology 6502A at 2 MHz | Rockwell Semiconductor 6512A at 2 MHz | ||
RAM | 16 KB | 32 KB | 64 KB composed of 32 KB standard memory, 20 KB video (Shadow) memory and 12 KB extended (special Sideways) memory. | 128 KB composed of 32 KB standard memory, 20 KB video (Shadow) memory and 76 KB extended (Sideways) memory. |
ROM | 32 KB of ROM composed of a 16 KB MOS (Machine Operating System) chip, and 16 KB read-only paged space defaulting to the BBC BASIC chip. Four paged 16KB ROM sockets standard, expandable to 16. | 48 KB of ROM composed of 16 KB MOS, 16 KB DFS, and 16 KB read-only paged space defaulting to the BBC BASIC. | ||
Keyboard | Full-travel keyboard with a top row of ten red-orange function keys . These generated Teletext control characters when pressed with CTRL or SHIFT, and could be programmed with keyboard macros. The arrow keys and BREAK could also serve as function keys. | |||
Display | As Model B except RGB (Optional upgrade, soldering required). | 6-pin DIN digital RGB connector +5V/0V, 1v p-p composite colour or monochrome video (link S39) and built-in UHF (PAL) RF modulator. | ||
Graphics | As Model B, but Modes 0, 1, 2, and 3 not available due to lack of memory. | Configurable graphics in Modes 0-6 (see table below) based on the Motorola 6845 CRT controller or Mode 7, a special Teletext mode, based a Mullard SAA5050 Teletext chip and only taking 1 KB of RAM. | ||
Sound | Four independent sound channels (one noise and three melodic) using the Texas Instruments SN76489 sound chip. Phoneme-based speech synthesis using the Texas Instruments TMS5220 with a custom Acorn ROM (the "PHROM", a TMS6100) of Kenneth Kendall's voice (optional). | |||
Tape storage | Tape interface (with a relay operated motor control), using a variation of the Kansas City standard data encoding scheme running at 1200 or 300 baud. | |||
Disk storage | Optional floppy disk interface based on the Intel 8271 chip, also requiring the installation of the DFS (disk filing system) ROM (and of soldered connector on Model A). (5.25" floppy drive usually used). | floppy disk controller based on the Western Digital WD1770 controller and DFS ROM as standard. | ||
Hard disc storage | None (lack of memory). | Additional ADFS ROM required, external drive unit connected to the 1 MHz Bus interface. (Winchester Hard disc drives in 5 MB, 10 MB or 20 MB sizes. Maximum of 512MB per drive, up to four drives). | ||
Serial Interface | Optional upgrade, soldering required. | 5-pin 'domino'-DIN RS-423 serial port. | ||
Parallel interface | Optional upgrade, soldering required. | 26-pin IDC Centronics-compatible parallel port. | ||
User port | Optional upgrade, soldering required. | 20-pin IDC "user port" with 8 general purpose digital I/O pins and two special/trigger sensitive digital pins used for control purposes (for eg a turtle when using the Logo programming language). | ||
Analogue interface | Optional upgrade, soldering required. | DB15 pin with four 8/12 bit analogue inputs based on uPD7002 IC (suitable for two joysticks), two inputs suitable for pushbuttons and an input for a light pen. | ||
1 MHz Bus | Optional upgrade, soldering required. | 34-pin IDC connector for generic expansion on a "daisy-chain" (used for connecting hard disks, sound synthesisers etc). | ||
The Tube | Optional upgrade, soldering required. | 40-pin IDC connector for external second CPU. Options included a second 6502, a Zilog Z80, the ARM Evaluation System, or a National Semiconductor 32016 (the latter was either branded "BBC Microcomputer System - 32016 Second Processor" or "Acorn Computer - Cambridge Co-Processor"), other vendors added 6809, 6800, 68000 and 68008. A 10MHz 80186 co-processor from a BBC Master can be connected through a co-processor adapter to a BBC Micro, thus enjoying a limited degree of PC compatibility. | ||
Network (Optional extra) | Econet large-scale low-cost networking system - around 100 kbit/s using the Motorola 68B54 (standard on US model). |
Like the IBM PC with the contemporary Color Graphics Adapter, the video output of the BBC Micro could be switched under software control between a number of display modes. These varied between 20 column text suitable for a domestic TV, to 80 column text best viewed with a high-quality monitor. The variety of modes offered applications a flexible compromise between colour depth, resolution and memory footprint: in the first models, the OS and applications used whatever RAM was left over from the display.
Mode 7 was a Teletext mode, extremely economical on memory and an original requirement due to the BBC's own use of broadcast teletext (Ceefax): it also made the computer useful as a Prestel terminal. Train time displays at UK stations were driven by BBC Master computers in this mode until around the late 1990s.
Modes 0 to 6, the 'ASCII' modes, could display a choice of colours from a logical palette of sixteen: the eight basic colours at the vertices of the RGB colour cube, and eight flashing colours made by alternating the basic colour with its inverse. The palette could be freely reprogrammed without touching display memory. Modes 3 and 6 were special text-only modes that used less RAM by reducing the number of text rows and inserting blank scan lines below each row. Mode 6 was approximately the same size as Teletext. All Modes 0 to 6 could show diacritics and other user defined characters, and all but the two text modes supported vector graphics.
The BBC B+ and the later Master allowed 'shadow modes', where the framebuffer was stored in 20 KB of an alternative RAM bank, leaving the main memory up to 0x8000 free for user programs. This feature was enabled by setting bit 7 of the mode variable, i.e. by requesting modes 128–135.
Graphics mode | Resolution (X×Y) | Hardware colours | Video RAM | Type | ||
---|---|---|---|---|---|---|
Char cells | Pixels | used (KB) | map | |||
0 | 80 × 32 | 640 × 256 | 2 | 20 | 3000–8000 | Graphics |
1 | 40 × 32 | 320 × 256 | 4 | 20 | 3000–8000 | Graphics |
2 | 20 × 32 | 160 × 256 | 8 | 20 | 3000–8000 | Graphics |
3 | 80 × 25 | 640 × 200 | 2 | 16 | 4000–8000 | Text |
4 | 40 × 32 | 320 × 256 | 2 | 10 | 5800–8000 | Graphics |
5 | 20 × 32 | 160 × 256 | 4 | 10 | 5800–8000 | Graphics |
6 | 40 × 25 | 320 × 200 | 2 | 8 | 6000–8000 | Text |
7 (Teletext) | 40 × 25 | 480 × 500[24] | 8 | 1 | 7C00–8000 | Text |
A speech synthesis upgrade based on the Texas Instruments TMS5220 featured sampled phonemes spoken by BBC newscaster Kenneth Kendall. The speech system was standard on the US model where it had an American vocabulary. Elsewhere it sold poorly and was eventually eclipsed by Superior Software's software-based synthesiser using the standard sound hardware.
The speech upgrade also added two empty sockets next to the keyboard intended to take 16 KB serial ROM cartridges containing either extra speech phoneme data (in addition to the default speech ROM fitted to the motherboard), or general software accessed through the ROM Filing System. The original plan was that some games would be released on cartridges, but due to the limited sales of the speech upgrade, little or no software was ever produced for these sockets. The cut-out space next to the keyboard (nick-named the "ashtray") was more commonly used to install other upgrades, such as a ZIF socket for conventional paged ROMs.
The following people, organisations and places are credited within the operating system ROM as contributing the development of the BBC Computer 'among others too numerous to mention':- David Allen, Bob Austin, Ram Banerjee, Paul Bond, Allen Boothroyd, Cambridge, Cleartone, John Coll, John Cox, Andy Cripps, Chris Curry, 6502 designers, Jeremy Dion, Tim Dobson, Joe Dunn, Paul Farrell, Ferranti, Steve Furber, Jon Gibbons, Andrew Gordon, Lawrence Hardwick, Dylan Harris, Hermann Hauser, Hitachi, Andy Hopper, ICL, Martin, Jackson, Brian Jones, Chris Jordan, David King, David Kitson, Paul Kriwaczek, Computer Laboratory, Peter Miller, Arthur Norman, Glyn Phillips, Mike Prees, John Radcliffe, Wilberforce Road, Peter Robinson, Richard Russell, Kim Spence-Jones, Graham Tebby, Jon Thackray, Chris Turner, Adrian Warner, Sophie Wilson, Alan Wright[26]
The case was designed by industrial designer Allen Boothroyd of Cambridge Product Design Ltd.[27]
|
|